setprinter a ukonceni aplikace
Otázka od: Sula Milos
21. 10. 2002 17:27
cau nevite jak se spravne prepnout na jinou tiskarnu v delphi ?
STrPCopy(device,SeSkinComboBox1.Text);
driver:='WINSPOOL';
port:='';
printer.SetPrinter(device,driver,port,0);
device:='';
driver:='';
port:='';
//zjisti rozliseni
printer.GetPrinter(device,driver,port,mode1);
if device='' then exit;
dm:=GlobalLock(mode1);
dpiy:=dm.dmYResolution;
dpix:=dm.dmPrintQuality;
GlobalUnlock(mode1);
Globalfree(mode1);
printer.BeginDoc; //tady to ukonci program po nastaveni SeSkinComboBox1.Text
na jakoukoliv jinou tiskarnu nez je vychozi tiskarna ve windows. Nehlasi to
zadnou chybu jen se proste ukonci
Milos
---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.404 / Virová báze: 228 - datum vydání: 15.10.2002
Odpovedá: Pesek Michal
21. 10. 2002 16:24
Hi,
naplnim ComboBox
for i := 0 to Printer.Printers.Count - 1 do
cb_Printer.Items.Add(Printer.Printers.Strings[i]);
cb_Printer.ItemIndex := Printer.PrinterIndex;
a na udalost OnChange, pripadne i jinam dam toto:
Printer.PrinterIndex := cb_Printer.ItemIndex;
A dal se o nic nestaram.
S pozdravem
Michal PEPR Pesek
http://www.peprsoft.cz
.. -----Original Message-----
.. From: Sula Milos [mailto:milos.sula@oku-su.cz]
.. cau nevite jak se spravne prepnout na jinou tiskarnu v delphi ?
Odpovedá: Jan Sebelík
22. 10. 2002 6:21
> Odesílatel: Pesek Michal <Michal.Pesek@MNUL.CZ>
> for i := 0 to Printer.Printers.Count - 1 do
> cb_Printer.Items.Add(Printer.Printers.Strings[i]);
Michale, jenom esteticka drobnustka:
cb_Printer.Items.Assign(Printer.Printers);
anebo taky
cb_Printer.Items.Text:=Printer.Printers.Text;
Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
Odpovedá: Sula Milos
22. 10. 2002 8:06
Ano dekuji, ALE jelikoz zjistuji i DPI tiskarny tak mi toto nefunguje tak jak
ma.
printer.PrinterIndex:=SeSkinComboBox1.ItemIndex;
device:='';
driver:='';
port:='';
printer.GetPrinter(device,driver,port,mode1);
/tady mi to vraci spravne device podle indexu vybrane tiskarny v comboboxu
ALE spatne Thandle mode1 ukazuje totiz stale 600 dpi (dpix,dpiy) coz je
rozliseni defaultni tiskarny a ne tiskarny na kterou jsem se prepnul
if device='' then exit;
dm:=GlobalLock(mode1);
dpix:=dm.dmYResolution;
dpiy:=dm.dmPrintQuality;
GlobalUnlock(mode1);
Milos
-----Original Message-----
From: Jan Sebelík [mailto:honza@haes.cz]
Sent: Tuesday, October 22, 2002 7:03 AM
To: delphi-l@clexpert.cz
Subject: Re: setprinter a ukonceni aplikace
> Odesílatel: Pesek Michal <Michal.Pesek@MNUL.CZ>
> for i := 0 to Printer.Printers.Count - 1 do
> cb_Printer.Items.Add(Printer.Printers.Strings[i]);
Michale, jenom esteticka drobnustka: cb_Printer.Items.Assign(Printer.Printers);
anebo taky
cb_Printer.Items.Text:=Printer.Printers.Text;
Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735) =========================================
---
Příchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.404 / Virová báze: 228 - datum vydání: 15.10.2002